#ifndef _SYS_FACET_META_H_
#define _SYS_FACET_META_H_

#include "FanObj.h"
#include "SysTypes.h"

#define FACET_META_VTABLE(self)   ((FacetMetaVTable*)((FanObj*)self)->vtable)


extern Type*    FacetMeta_classType;
extern VTable*  FacetMeta_classVTable;


/* [sys::FacetMeta] Attributes */
struct FacetMeta
{
  FanObj        super;
};


/* [sys::FacetMeta] Virtual-table */
typedef struct FacetMetaVTable
{
  FanObjVTable  super;
} FacetMetaVTable;


/* [sys::FacetMeta] Methods and fields */
void            FacetMeta_make_0(FacetMeta* self);
void            FacetMeta_make(FacetMeta* self, Func* f);
Bool            FacetMeta_inherited(FacetMeta* self);


/* [sys::FacetMeta] Type-system functions */
Type*           FacetMeta_initType(void);
VTable*         FacetMeta_initVTable(void);
void            FacetMeta_initStatic(void);


#endif
